<?php
	namespace Admin\Model;
	use Think\Model;
	/**
	 * 文章表模型类
	 */
	class ArticleModel extends Model {
		/**
		 * 获取文章记录数据
		 */
		public function getArticleData($start,$offset) {
			return $this->where('is_delete=0')->limit($start, $offset)->select();
		}
		/**
		 * 获取未逻辑删除的文章数
		 */
		public function getCount() {
			return $this->where('is_delete=0')->count();
		}
		/**
		 * 文章添加方法
		 */
		public function addData($post, $file) {
			$cfg = array(
				'mimes'         =>  array('image/png','image/gif','image/jpeg'), //允许上传的文件MiMe类型
       			'maxSize'       =>  102400000, //上传的文件大小限制 (0-不做限制)  10M
       			'rootPath'      =>  './Uploads/', //保存根路径
			);
			// 创建上传类
			$upload = new \Think\Upload($cfg);
			// 上传单个文件  一维数组
			$info = $upload->uploadOne($file);
			if(!$info){
				// 上传失败
				//var_dump(46);die;
				return false;
			}
			
			// 上传成功, 将路径保存在数据库的thumb字段
			$post['thumb'] = FILE_UPLOAD_PATH . $info['savepath'] . $info['savename'];
			$post['cre_time'] = date("Y-m-d H:i:s",time());
			// 添加进数据库
			return $this->add($post);
		}
		/**
		 * 根据id获取文章信息
		 */
		public function getArticleById($id) {
			return $this->where('is_delete=0')->find($id);
		}
		
		/**
		 * 根据id修改文章信息
		 */
		public function editArticle($post,$file) {
			// 判断是否有上传文件
			if($file['size']>0) {
				// 配置文件
				$cfg = array(
					'mimes'         =>  array('image/png','image/gif','image/jpeg'), //允许上传的文件MiMe类型
	       			'maxSize'       =>  102400000, //上传的文件大小限制 (0-不做限制)  10M
	       			'rootPath'      =>  './Uploads/', //保存根路径
				);
				// 有文件，创建上传upload对象
				$upload = new \Think\Upload($cfg);
				$info = $upload->uploadOne($file);
				if($info) {
					// 上传成功,补充thumb字段
					$post['thumb'] = FILE_UPLOAD_PATH . $info['savepath'] . $info['savename'];
				}else {
					// 失败
					return false;
				}
			}
			// 修改文章信息
			return $this->save($post);
		}
		/**
		 * 逻辑删除单个文章记录
		 */
		public function logicDelete($id) {
			$data['id'] = $id;
			$data['is_delete'] = '1';
			//var_dump($data);die;
			return $this->save($data);
		}
		/**
		 * 获取逻辑删除的文章
		 */
		public function getLogicArticle($start, $offset) {
			return $this->where('is_delete=1')->limit($start, $offset)->select();
		}
		/**
		 * 获取已经逻辑删除的文章个数
		 */
		public function getCountDelete() {
			return $this->where('is_delete=1')->count();
		}
		/**
		 * 还原单个文章
		 */
		public function restory($id) {
			$data['id'] = $id;
			$data['is_delete'] = '0';
			//var_dump($data);die;
			return $this->save($data);
		}
		/**
		 * 彻底删除单个文章
		 */
		public function deleteData($id) {
			// 获取缩略图文件路径
			$path = $this->field('thumb')->find($id)['thumb'];
			$path = '.' . $path;
			unlink($path);
			return $this->delete($id);
		}
	}
